// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.imports;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("idea/tests")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("testData/editor/autoImport")
public class K1AutoImportTestGenerated extends AbstractK1AutoImportTest {
    @java.lang.Override
    @org.jetbrains.annotations.NotNull
    public final KotlinPluginMode getPluginMode() {
        return KotlinPluginMode.K1;
    }

    private void runTest(String testDataFilePath) throws Exception {
        KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    @TestMetadata("arrayAccessor")
    public void testArrayAccessor() throws Exception {
        runTest("testData/editor/autoImport/arrayAccessor/");
    }

    @TestMetadata("assignmentPlugin")
    public void testAssignmentPlugin() throws Exception {
        runTest("testData/editor/autoImport/assignmentPlugin/");
    }

    @TestMetadata("components")
    public void testComponents() throws Exception {
        runTest("testData/editor/autoImport/components/");
    }

    @TestMetadata("components2")
    public void testComponents2() throws Exception {
        runTest("testData/editor/autoImport/components2/");
    }

    @TestMetadata("constructorReference")
    public void testConstructorReference() throws Exception {
        runTest("testData/editor/autoImport/constructorReference/");
    }

    @TestMetadata("delegationExtFunction")
    public void testDelegationExtFunction() throws Exception {
        runTest("testData/editor/autoImport/delegationExtFunction/");
    }

    @TestMetadata("delegationExtFunctions")
    public void testDelegationExtFunctions() throws Exception {
        runTest("testData/editor/autoImport/delegationExtFunctions/");
    }

    @TestMetadata("extFunctionWithGenerics")
    public void testExtFunctionWithGenerics() throws Exception {
        runTest("testData/editor/autoImport/extFunctionWithGenerics/");
    }

    @TestMetadata("functionReference")
    public void testFunctionReference() throws Exception {
        runTest("testData/editor/autoImport/functionReference/");
    }

    @TestMetadata("intersectionReceiverType")
    public void testIntersectionReceiverType() throws Exception {
        runTest("testData/editor/autoImport/intersectionReceiverType/");
    }

    @TestMetadata("invoke")
    public void testInvoke() throws Exception {
        runTest("testData/editor/autoImport/invoke/");
    }

    @TestMetadata("javaClass")
    public void testJavaClass() throws Exception {
        runTest("testData/editor/autoImport/javaClass/");
    }

    @TestMetadata("method")
    public void testMethod() throws Exception {
        runTest("testData/editor/autoImport/method/");
    }

    @TestMetadata("multilineCall")
    public void testMultilineCall() throws Exception {
        runTest("testData/editor/autoImport/multilineCall/");
    }

    @TestMetadata("multipleCandidates")
    public void testMultipleCandidates() throws Exception {
        runTest("testData/editor/autoImport/multipleCandidates/");
    }

    @TestMetadata("multipleCandidates2")
    public void testMultipleCandidates2() throws Exception {
        runTest("testData/editor/autoImport/multipleCandidates2/");
    }

    @TestMetadata("nestedClassifier")
    public void testNestedClassifier() throws Exception {
        runTest("testData/editor/autoImport/nestedClassifier/");
    }

    @TestMetadata("property")
    public void testProperty() throws Exception {
        runTest("testData/editor/autoImport/property/");
    }

    @TestMetadata("recevierAndFunction")
    public void testRecevierAndFunction() throws Exception {
        runTest("testData/editor/autoImport/recevierAndFunction/");
    }

    @TestMetadata("singleImportForMultipleReferences")
    public void testSingleImportForMultipleReferences() throws Exception {
        runTest("testData/editor/autoImport/singleImportForMultipleReferences/");
    }

    @TestMetadata("starImport")
    public void testStarImport() throws Exception {
        runTest("testData/editor/autoImport/starImport/");
    }

    @TestMetadata("superConstructorCall")
    public void testSuperConstructorCall() throws Exception {
        runTest("testData/editor/autoImport/superConstructorCall/");
    }

    @TestMetadata("typeParameterReceiverType")
    public void testTypeParameterReceiverType() throws Exception {
        runTest("testData/editor/autoImport/typeParameterReceiverType/");
    }

    @TestMetadata("typeParameterReceiverTypeWithBounds")
    public void testTypeParameterReceiverTypeWithBounds() throws Exception {
        runTest("testData/editor/autoImport/typeParameterReceiverTypeWithBounds/");
    }

    @TestMetadata("typeReference")
    public void testTypeReference() throws Exception {
        runTest("testData/editor/autoImport/typeReference/");
    }

    @TestMetadata("typealias")
    public void testTypealias() throws Exception {
        runTest("testData/editor/autoImport/typealias/");
    }

    @TestMetadata("unresolvedExplicitReceiver")
    public void testUnresolvedExplicitReceiver() throws Exception {
        runTest("testData/editor/autoImport/unresolvedExplicitReceiver/");
    }

    @TestMetadata("unresolvedImplicitReceiver")
    public void testUnresolvedImplicitReceiver() throws Exception {
        runTest("testData/editor/autoImport/unresolvedImplicitReceiver/");
    }

    @TestMetadata("unresolvedImport")
    public void testUnresolvedImport() throws Exception {
        runTest("testData/editor/autoImport/unresolvedImport/");
    }

    @TestMetadata("unresolvedImport2")
    public void testUnresolvedImport2() throws Exception {
        runTest("testData/editor/autoImport/unresolvedImport2/");
    }

    @TestMetadata("withoutAutoImport")
    public void testWithoutAutoImport() throws Exception {
        runTest("testData/editor/autoImport/withoutAutoImport/");
    }

    @TestMetadata("wrongReceiverType")
    public void testWrongReceiverType() throws Exception {
        runTest("testData/editor/autoImport/wrongReceiverType/");
    }
}
